'''
    @Author:webrainer
    @Date:2023-5-25
    @Version:
    @Since:python3.11
    @See:
    @Description: 投顾模块，实现了接入gpt寻求投顾建议基本功能，模型使用gpt-3.5-turbo，后续可能自己训练模型
    @Functions:
'''
import http
import json

from flask import request, jsonify
from flask_cors import cross_origin

from app.controller.advisor import *


'''
如果POST请求的Content-Type是application/x-www-form-urlencoded，
你可以使用request.form来获取参数。
这个方法返回一个字典，其中包含POST请求中的参数和对应的值。
如果POST请求的Content-Type是application/json
你可以使用request.get_json()来获取参数。这个方法返回一个字典，其中包含JSON数据的键值对。例如：
'''


@advisor_module.route('/', methods=['GET', 'POST'])
def advisor():
    if request.method == 'GET':
        return 'advisor'
    else:
        # 获取用户输入
        data = request.get_json()
        usr_input = data['usr_input']
        print(usr_input)
        return usr_input


@advisor_module.route('/advise', methods=['GET', 'POST'])
@cross_origin(supports_credentials=True)
def ask_for_general_advice():
    # 获取用户参数
    id=request.args.get('id')
    question=request.args.get('request')
    print(question)
    if question is None:
        return ''
    cost=request.args.get('cost')
    rate=request.args.get('rate')
    time=request.args.get('time')
    risk=request.args.get('risk')
    if risk is None:
        risk="中等风险"
    if cost is None:
        cost="中等成本"
    if rate is None:
        rate="中等收益"
    if time is None:
        time="中期投资"
    advice=ask(question,risk=risk,rate=rate,cost=cost,time=time)
    print(advice)
    return advice
    # return HttpResponse("ask_for_general_advice")
    # if request.method == 'GET':
    #     return 'advisor'
    # else:
    #     # 获取用户输入
    #     # data=request.get_json()
    #     # usr_input=data['usr_input']
    #     # print(usr_input)
    #     # # 调用gpt模型
    #     # rt=ask(usr_input)
    #
    #     return deal_result(chat())

# @advisor_module.route('/', methods=['GET', 'POST'])
